HTML - Funcionamento da Internet
Nota : Esta página é meio extensa, mas se para você Internet parece um passe de mágica que tudo funciona,
você não conhece a infraestrutura necessária para suportar uma aplicação web, que não é pequena.
Sei que em outra página falei sobre a história da Internet mas a visão desta página é referente a uma
empresa e não a de um usuário doméstico como descrevi em
Basico HTML - Histórico
Os primórdios
A Internet não nasceu como você a conhece hoje, foi uma evolução de tecnologias e recursos que fizeram
a Internet chegar onde chegou hoje.
Ela começou com um aparelho revolucionário chamado Modem. Modem é uma sigla para modulador e
demodulador e ele possibilitava a comunicação entre dois equipamentos a longas distâncias através de uma
linha telefônica ou pares de fios dedicados a comunicação ( chamadas LPs na época). Com isto uma casa
conseguia 'falar' com alguns 'seletos amigos' via modem e empresas conseguiam se comunicar imediatamente.
Note que na época dos Modems se você estava falando com um amigo A seu e o um amigo B quisesse falar com
você ele não conseguiria porque a linha telefônica estava ocupada. O mesmo ocorria quando você estava falando
com uma pessoa e queria falar com outra. Você precisaria desligar a conexão atual e fazer uma nova
com seu outro amigo.
Passado algum tempo no mundo corporativo vieram os servidores RAS ( RAS significa Remote Access System
ou servidor de acesso remoto) e com este tipo de servidor uma empresa podia seguramente deixar um funcionário
acessar sua rede com segurança. Para isto o serviço possuía um serviço de autenticação do usuário que
dava um 'perfil' ao usuário restringindo ou permitindo o seu acesso aos computadores da empresa.
Empresas como a Microsoft conseguiram fazer com que um usuário logado no seu RAS fosse tratado
da mesma maneira como se estivesse dentro da empresa. Foi um marco corporativo.
Até aqui temos um computador em casa ligado a um modem e enviando informações para um servidor ou
uma máquina remota qualquer. Esta é a época das famosas BBS (Bulletin board system) e era texto para
lá e para cá, puro texto. Um servidor RAS windows já conseguia enviar alguma coisa a mais mas era uma
aplicação específica para o mundo RAS da Microsoft.
Nesta época empresas como a Embratel e a Telesp colocaram serviços como o Cirandão, Teletexto que
eram muito lentos, só para dar uma ideia a comunicação era em 75 bps( bits por segundo ) e uma página
para ser transferida, mesmo texto, levava uns 30 segundos e era montada caractere a caractere conforme
eles vinham chegando.
Mas o
departamento de defesa dos EUA (DARPA) estava trabalhando num projeto de calamidade nacional como
a explosão de uma bomba atômica em solo americano. Queriam, com esse projeto, que as atividades das
demais áreas sobreviventes continuassem funcionando normalmente através de serviços de contingência,
ou seja, se uma tarefa no ponto A não pudesse ser mais realizada o ponto B a faria.
Ai da DARPA envolveu outras empresas como a IBM, CISCO e onde há dinheiro a coisa vai para frente.
Sendo assim, fizeram um sistema onde um site A processava a Tarefa A e o Site B processava a Tarefa
B mas se o site A tivesse algum problema, o Site B poderia executar a Tarefa A e vice-versa. Como
fizeram isso ? Em matéria de computadores, com redes de computadores. A rede A processa a Tarefa A e a Rede B processa a Tarefa B.
Se forem necessárias as tarefas de A podem ser passadas para B e vice-versa. Com isto equipes inteiras foram
treinadas em diversos locais porque elas poderiam ser designadas para suprir a falta de pessoas em
outros lugares. E essa paranoia foi crescendo.
A rede foi se expandindo e conseguiram conectar todo o Estados Unidos via rede. Feito isto pensaram em
reduzir os custos e como ganhar dinheiro ou parar de gastar tanto dinheiro com isso de maneira segura. Se deixassem os civis se conectar
a rede ( que até agora era exclusivamente de uso militar ) haveria muita gente interessada e com isto
a procura por equipamentos de comunicação seria muito grande e com isto o preço dos equipamentos de
comunicação seriam reduzidos e muito. Ficaram pensando nas possibilidades.
Foi ai que o governo americano ( que era o dono da coisa ) interviu e resolveu deixar a Internet Livre e
Universal, ou seja, eles já custeavam toda a DARPA naquela época e viram que só se beneficiariam com essa
medida em termos de custo especialmente.
Alguns recursos foram fundamentais para que a Internet evoluísse dessa fase inicial. A primeira coisa
foram os
browsers. Até então cada empresa ou pessoa tinha seu programinha de comunicação que
funcionava á sua maneira e nem sempre eram do agrado da maioria.
Foi aí que pensaram no browser. O
browser foi chamado inicialmente de '
application killer', ou seja,
matador de aplicações porque ele iria substituir todas as aplicações de comunicação que existiam por
um padrão bastante superior de apresentação do conteúdo.
No projeto do browser queriam que ele fosse bastante superior na apresentação do que o texto era
naquela época. Para isto começaram a pensar em como adicionar esses 'recursos extras' ao texto simples
das BBS.
Foi ai que surgiu as ideias de
TAGS. As tags seriam marcadores que informariam uma mudança no
texto simples mas elas não seriam exibidas, apenas modificariam o texto comum para um visualmente
muito melhorado. Logicamente se um 'efeito' sobre o texto fosse começado ele tinha que terminar em
algum lugar e é por esse motivo que temos as tags de fechamento ( começam com </ )
A primeira 'tag' que foi pensada foi para as letras : tipos de fontes de letras, cores , alinhamentos,
disposições de destaque. Por exemplo envolvendo o texto com um início e fim de tag teriamos um efeito.
Exemplo: A seguir temos um exemplo de tag, a tag b que faz o texto ficar em negrito (b = bold em ingles ou
negrito). Sendo assim, não queriam que o b fosse exibido então colocaram ele dentro de marcadores <>.
Assim se quisermos colocar um texto em negrito fariamos isso :<b>Texto em negrito</b>
O browser mostra esse efeito assim:
Texto em negrito
Aí foram incorporando tags e mais tags e uma das mais notáveis foi a tag de imagem. Não era possível
nas BBS transmitir imagens a não ser um arquivo de imagem, mas para exibi-la você precisaria de um
programa como o paint, gimp ou coisa parecida. No browser a tag de imagem aponta para um arquivo externo
que contém a imagem ( pode ser de qualquer tipo : jpg, gif, png e outros formatos) e foi dada ao browser
não só a capacidade de exibir imagem, mas de mixar imagens, textos, cores, alinhamentos. Como o browser
era de longe muito superior as antigas BBS eles ganharam popularidade rapidamente na Internet.
Um dos primeiros browsers do mundo que se tornaram populares foi o
MOSAIC:
Um marco importante nesta fase foi a instalação de
servidores web. As empresas vendo a economia tanto
financeira quanto de tempo que essa 'comunicação' proporcionava começaram a instalar servidores para divulgar
seus produtos, efetuar comunicados para seus fornecedores e clientes, etc. Isso dinamizou muitos processos
que antes envolviam deslocamento físico de pessoas e agora podiam ser feitos via Internet.
Foi a década do boom da Internet e praticamente durou toda a década de 1990. Com isto o preço de
computadores e equipamentos de comunicação caiu e popularizaram-se tanto que um modem que antes era um recurso
caro que apenas uma empresa poderia pagar foi trocado por um roteador ip ( lógico que os serviços de
infraestrutura de rede evoluíram também ) e, hoje, se você assinar a internet o roteador vem de brinde
incluso no pacote por ser barato e sem ele nada acontece.
Já temos um grande avanço se comparado aos antigos texto mas ainda eram bem primitivos mas na Internet
avançar é a regra. Nesta época a página HTML era sempre
estática, ou seja, o seu conteúdo era
sempre o mesmo. Você poderia enviar ou receber, mas sempre a mesma coisa.
Então foi dada ao browser a capacidade de
enviar informações aos servidores web,ou seja, o servidor
envia uma página com um formulário para o usuário preencher. O usuário preenche e clica num botão ( submit ).
As informações do cliente são enviadas para o servidor. Assim os clientes podiam solicitar coisas para as
empresas ou mesmo enviar informações de pedidos, compras, vendas etc.
Aí advinha o que aconteceu? Um monte de coisas erradas foi enviada aos servidores e estes gastavam
seu tempo e processamento para informar o erro o que desagradava muito os usuários.
Para solucionar esse problema foi criada as
linguagens de script. As linguagens de script foram
projetadas para serem executadas do lado do cliente, ou seja, dentro do próprio browser e
permitiram que fosse feita uma crítica as informações antes de enviá-las ao servidor. O principal
ponto levantado nas linguagens de script foi a segurança. Ela tinha que ser poderosa para fazer uma
tarefa, mas não podia, por exemplo, destruir a máquina do cliente ou imprimir 1000 folhas escritas em
letras garrafais 'eu sou um orelha'.
E aí nasceu o
JAVASCRIPT. Até hoje todos (desenvolvedores
web) temos uma relação de amor e ódio por scripts porque eles proporcionam muitas coisas que não são
possíveis de outra maneira, mas uma simples vírgula pode causar um erro que você demora uma hora para
descobrir. Em termo de produtividade o desenvolvimento em javascript não é muito vantajoso, mas
hoje em dia existem pacotes como o bootstrap que tem um monte de funcionalidades capazes de revolucionar
a apresentação de um site e sua utilização é absolutamente ridícula de simples.
Algumas empresas continuavam não atendidas pelos recursos da Internet. A principal classe não atendida eram
os bancos. Eles precisavam melhorar a comunicação com os seus clientes de maneira a agilizar o contato
com eles e evitar que eles fossem as agências pagarem contas, solicitarem papéis como saldo da conta entre
outras coisas. Até aqui todas as páginas da Internet foram desenvolvidas por programadores web e eram
estáticas, ou seja, sempre tinham o mesmo conteúdo.
Foi aí que inventaram o conceito de
páginas dinâmicas que nada mais era que uma página
construída pelo servidor com dados vindos de um banco de dados ( por exemplo ) e essas informações
eram formatadas para que o browser pudesse exibir automaticamente para o cliente sem a intervenção
de programadores. Isto evitava o custo de desenvolvimento de novas páginas e tornava os processos
mais automáticos.
Ai surgiram os
servidores web de conteúdo dinâmico como o ASP ( hoje chamado asp
clássico ), o PHP, o JAVA e outros.
A maioria dos servidores dessa época estão na ativa ainda hoje devido a grande capacidade de evolução dessas
plataformas para atender as novas demandas da Internet.
A atualidade
Outro grande marco na Internet foi a adoção do
protocolo HTTPS na comunicação da maioria dos sites.
Com isto a comunicação é feita de uma tal maneira que ao estabelecer a comunicação o browser e o servidor
trocam chaves de segurança (
veja chaves simétricas e assimétricas) e com isto apenas um consegue entender
o que o outro está informando. É chamada de
criptografia de ponta-a-ponta e aplicações, como o WhatsUp,
criptografam as mensagens de maneira que, por exemplo, o governo dos Estados Unidos pedem acesso as
informações porque processá-las ( descriptografar a mensagem ) levaria muito tempo.
Outro grande feito foi a melhoria na qualidade da comunicação. Hoje temos a banda larga com capacidade de
trafegar 100mbps com fibra-ótica que dá uma confiabilidade excepcional a troca de informações. Problemas
como a queda da comunicação estão virando histórias do passado. Hoje banda larga é tão vital quanto
a energia elétrica pela facilidade que ela nos proporciona a nossa vida.
Em detalhes como funciona a sua rede local ?
As condições abaixo supõem que o computador está ligado a Internet e tudo está funcionando perfeitamente.
1-Quando você liga seu computador o sistema operacional verifica que existe uma placa de rede.
2-O sistema operacional localiza e instala os drivers necessários ao funcionamento da placa de rede.
3-O sistema operacional localiza os protocolos e serviços de rede e os ativa.
4-O sistema operacional ativa a placa de rede
5-Ao ativar a placa de rede os protocolos de redes são disparados automaticamente e é enviado um 'broadcast'
( solicitação a todos computadores da rede e existe um endereço ip específico para a solicitação
desse serviço ) a procura de um servidor
DHCP (Dynamic Host Configuration Protocol). O servidor DHCP é o
porteiro da sua rede, ele define quem pode ou não conectar a sua rede.
6-Na sua rede existe um roteador e o serviço de DHCP é feito por ele. Na configuração do roteador você ativa
o serviço, define a faixa de endereçamento ip e tudo mais. Portanto, o roteador dá um endereço ip
válido para ele começar a falar na sua rede.
7-Quando o DHCP retorna o endereço ip válido para seu micro ele retorna também o endereço do servidor DHCP.
O
servidor DNS ( Domain Named System ) converte o nome que você digita na Url ou que está no link
para o endereço ip real da Internet. Para isto ele tem uma lista interna de servidores, se ele souber,
através da sua lista interna, o destino procurado, ele mesmo responde. Se ele não souber vai no DNS do
seu provedor de Internet. Se o servidor DNS do seu provedor de Internet não souber ele vai perguntar ao
servidor DNS hierarquicamente superior a ele até achar ou informar que não foi encontrado.
O serviço DHCP server também é feito pelo seu roteador que normalmente aponta para o DNS do seu provedor.
Para você ver como o servidor DNS atua vá até a janela de prompt do windows e digite : ping google.com
Com isto sabemos que nosso servidor DNS está funcionando normalmente e que o endereço da Google.com
na Internet é 172.217.29.14 e que a comunicação foi boa, sem perdas ( 0 pacotes perdidos ).
Em detalhes como funciona a Internet ?
Se baseie na figura do seu computador comunicando com o servidor da Internet acima ( não a última mas sim
a anterior ).
1-Você abre o browser e digita a url que deseja visitar. Pode ser um site de pesquisa, um banco, qualquer
site da Internet. Ex: http://www.google.com.br
2-O Browser verifica a url digitada. Temos 2 possibilidades:
2.1-Na url foi digitado um endereço IP. Neste caso ele identifica se pertence a rede local ou externa
a rede local. Sendo assim ele envia a requisição para a rede local ou para a Internet, diretamente.
2.2-Na url local foi digitado um 'nome' de um site, tipo www.google.com.br. Neste caso o servidor procura
trocar o 'nome' pelo endereço IP. Procura na lista interna de roteamento ( vide protocolo ARP ) e, se achar,
envia a requisição ao servidor web. Caso não ache, o servidor web vai procurar no servidor DNS externo,
normalmente o fornecido pelo seu provedor de Internet.
3- O servidor web procura a página no servidor DNS. Se não encontrar envia o erro 404 que é um padrão de
resposta para páginas não encontradas.
4-Mas se o servidor foi encontrado a requisição é enviada ao servidor web. Ao receber essa 'requisição' o
servidor web verifica a segurança. Como você ainda não fez login nem participou de nenhuma autenticação
até o momento seu usuário é um usuário 'anônimo' da Internet, o famoso ISUSR. Esse cara tem a
permissão no servidor para acessar apenas as páginas públicas como as páginas de login, por exemplo.
5-Em seguida o servidor web verifica a natureza da página : é uma página estática ou dinâmica ? Isto
é feito pela extensão da página...se for .html é estática e se for, por exemplo, .aspx é dinâmica.
Se for estática, o servidor envia ela diretamente para o browser do cliente solicitante. Mas se for
uma página dinâmica ele solicita o serviço externo ( como bancos de dados, envio de email e muitos
outros serviços), recebe a resposta, concatena com o conteúdo da página e envia para o browser
solicitante. Chamamos este processo de response ou resposta do servidor
Note que todo o processamento e páginas dinâmicas acaba em puro HTML, é a única coisa que o
browser entende.
6-O browser recebe as informações do servidor e as exibe conforme as informações do documento HTML.
Consideramos a Internet uma das grandes conquistas da humanidade para este século e não foi à toa não.